#pragma once
#include<iostream>
//template<class T>
//class SmartPtr
//{
//public:
//	SmartPtr(T* ptr=nullptr):ptr_(ptr)
//	{
//
//	}
//	T* operator->()//����->��*������ָ����ָ��һ��ʹ��
//	{
//		return ptr_;
//	}
//	T& operator*()
//	{
//		return *ptr_;
//	}
//	~SmartPtr()//���ö����������������Ƴ�����Դ
//	{
//		if (ptr_)
//		{
//			delete ptr_;
//			ptr_ = nullptr;
//		}
//	}
//private:
//	T* ptr_;
//};
//struct Date
//{
//	int year;
//	int mon;
//};
//int main()
//{
//	SmartPtr<Date> p(new Date);
//	p->year = 2022;
//	p->mon = 11;
//	std::cout << p->year <<" " << p->mon << std::endl;
//	return 0;
//}

